<?php

class SiteController extends Controller {

    /**
     * Declares class-based actions.
     */
    public function actions() {
        return array(
            // captcha action renders the CAPTCHA image displayed on the contact page
            'captcha' => array(
                'class' => 'CCaptchaAction',
                'backColor' => 0xFFFFFF,
            ),
            // page action renders "static" pages stored under 'protected/views/site/pages'
            // They can be accessed via: index.php?r=site/page&view=FileName
            'page' => array(
                'class' => 'CViewAction',
            ),
        );
    }

    /**
     * This is the default 'index' action that is invoked
     * when an action is not explicitly requested by users.
     */
    public function actionteach() {
        $this->layout = 'detailspage';
        $this->render('teach');
    }

    public function actionIndex() {
        $this->layout = 'detailspage';
        $this->pageTitle = '';
        $date = date('Y-m-d');
        $leadArray = array('type' => 'workshop');
        $curatedArray = array('type' => 'curatedclasses');
        $coursesArray = runningCurrentCoursesByUser('', '', '');
        usort($coursesArray, 'date_compare');
        $coursedataProvider = new CArrayDataProvider($coursesArray, array(
                    'sort' => array(
                        'attributes' => array(
                            'start_date',
                        ),
                    ),
                ));

        $classWorkShoparray = literalEndingTommorow('', '', $leadArray);       
        $classWorkShopdataProvider = new CArrayDataProvider($classWorkShoparray, array(
                    'sort' => array(
                        'attributes' => array(
                            'start_date',
                        ),
                    ),
                    
                ));
        $classCuretedarray = literalEndingTommorow('', '', $curatedArray);      
        $classCureteddataProvider = new CArrayDataProvider($classCuretedarray, array(
                    'sort' => array(
                        'attributes' => array(
                            'start_date',
                        ),
                    ),
                    
                ));
        $this->render('index', array('coursedataProvider' => $coursedataProvider,
            'classCureteddataProvider' => $classCureteddataProvider,
            'classWorkShopdataProvider' => $classWorkShopdataProvider,
        ));
    }

    /**
     * This is the action to handle external exceptions.
     */
    public function actionError() {
        if ($error = Yii::app()->errorHandler->error) {
            if (Yii::app()->request->isAjaxRequest)
                echo $error['message'];
            else
                $this->render('error', $error);
        }
    }

    /**
     * Displays the contact page
     */
    public function actionContact() {
        $this->layout = 'detailspage';
        $model = new Contactus;
        if (isset($_POST['Contactus'])) {
            $model->attributes = $_POST['Contactus'];
            $model->setAttribute('created', SkillConfig::CreateDateTime());
            if ($model->validate()) {
                $model->save(FALSE);
                $headers = "From: {$model->email}\r\nReply-To: {$model->email}";
                mail(Yii::app()->params['adminEmail'], $model->subject, $model->message, $headers);
                Yii::app()->user->setFlash('contact', 'Thank you for contacting us. We will respond to you as soon as possible.');
                echo CJSON::encode(array(
                    'status' => 'success'
                ));
                Yii::app()->end();
            } else {
                $error = CActiveForm::validate($model);
                if ($error != '[]')
                    echo $error;
                Yii::app()->end();
            }
        }
        $this->render('contact', array('model' => $model));
    }

    /**
     * Displays the login page
     */
    public function actionLogin() {
        $model = new LoginForm;

        // if it is ajax validation request
        if (isset($_POST['ajax']) && $_POST['ajax'] === 'login-form') {
            echo CActiveForm::validate($model);
            Yii::app()->end();
        }

        // collect user input data
        if (isset($_POST['LoginForm'])) {
            $model->attributes = $_POST['LoginForm'];
            // validate user input and redirect to the previous page if valid
            if ($model->validate() && $model->login())
                $this->redirect(Yii::app()->user->returnUrl);
        }
        // display the login form
        $this->render('login', array('model' => $model));
    }

    /**
     * Logs out the current user and redirect to homepage.
     */
    public function actionLogout() {
		if(Yii::app()->user->id){
			ShoppingCartByUser::saveCartbyUser(Yii::app()->user->id);
		}
		Yii::app()->user->logout();
        $this->redirect(Yii::app()->homeUrl);
    }

}
